{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 38,
   "id": "f0959ae3-2506-488a-a896-cf1ab4906237",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[\n",
      "  3, 2, 1, 0, 1,\n",
      "  0, 0, 1, 2, 2,\n",
      "  1, 0\n",
      "]\n"
     ]
    }
   ],
   "source": [
    "function shortestToChar(s: string, c: string): number[] {\n",
    "    let targets: number[] = []\n",
    "    for (var i = 0; i < s.length; i++) {\n",
    "        if (s.charAt(i) == c) {\n",
    "            targets.push(i)\n",
    "        }\n",
    "    }\n",
    "    let results: number[] = []\n",
    "    for (var i = 0; i < s.length; i++) {\n",
    "        let temp = targets.map((j) => {\n",
    "            return Math.abs(j-i)\n",
    "        })\n",
    "        temp.sort(function(a, b) {\n",
    "            return a - b;\n",
    "        });\n",
    "        results.push(temp[0])\n",
    "    }\n",
    "    return results;\n",
    "};\n",
    "\n",
    "let s = \"loveleetcode\"\n",
    "let c = \"e\"\n",
    "shortestToChar(s, c)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "daede0f2-b105-4f5b-bd49-9f899be4bad1",
   "metadata": {},
   "source": [
    "https://leetcode.com/problems/shortest-distance-to-a-character\n",
    "\n",
    "\n",
    "Runtime: 120 ms, faster than 24.00% of TypeScript online submissions for Shortest Distance to a Character.\n",
    "Memory Usage: 46.5 MB, less than 8.00% of TypeScript online submissions for Shortest Distance to a Character.\n",
    "\n",
    "\n",
    "\n",
    "```ts\n",
    "function shortestToChar(s: string, c: string): number[] {\n",
    "    //7:00pm\n",
    "    let targets: number[] = []\n",
    "    for (var i = 0; i < s.length; i++) {\n",
    "        if (s.charAt(i) == c) {\n",
    "            targets.push(i)\n",
    "        }\n",
    "    }\n",
    "    let results: number[] = []\n",
    "    for (var i = 0; i < s.length; i++) {\n",
    "        let temp = targets.map((j) => {\n",
    "            return Math.abs(j-i)\n",
    "        })\n",
    "        temp.sort(function(a, b) {\n",
    "            return a - b;\n",
    "        });\n",
    "        results.push(temp[0])\n",
    "    }\n",
    "    return results;\n",
    "    //7:20pm\n",
    "};\n",
    "```"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "cfc7af32-27fa-4f61-9400-cc5e2071eb33",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "TypeScript",
   "language": "typescript",
   "name": "tslab"
  },
  "language_info": {
   "codemirror_mode": {
    "mode": "typescript",
    "name": "javascript",
    "typescript": true
   },
   "file_extension": ".ts",
   "mimetype": "text/typescript",
   "name": "typescript",
   "version": "3.7.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
